#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
#include<wait.h>
int main()
{

  if(fork()==0)
  {
    char *const argv[] = {"ls", "-l", NULL};
    //char *const envp[] = {"PATH=/bin:/usr/bin","TERM=console",NULL};
    char *const envp[] = {"PATH=/usr/bin", NULL};
    //execl("/usr/bin/ls","ls","-l","-a","-b",NULL);
    //execv("/usr/bin/ps", argv);
    execve("ls",argv,envp);
    exit(0);
  }
  waitpid(-1,NULL,0);
  return 0;
}
//#include <unistd.h>
//int main()
//{
// char *const argv[] = {"ls", "-l", NULL};
// char *const envp[] = {"PATH=/bin:/usr/bin", "TERM=console", NULL};
//// execl("/bin/ps", "ps", "-ef", NULL);
//// // 带p的，可以使用环境变量PATH，无需写全路径
//// execlp("ps", "ps", "-ef", NULL);
//// // 带e的，需要自己组装环境变量
//// execle("ps", "ps", "-ef", NULL, envp);
//// execv("/bin/ps", argv);
//// 
//// // 带p的，可以使用环境变量PATH，无需写全路径
//// execvp("ps", argv);
// // 带e的，需要自己组装环境变量
// execve("/bin/ls", argv, envp);
// return 0;
//}
